diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index cea9bdd..0a4327b 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -276,7 +276,7 @@
 
 	 * @return	object
 	 */
-	function where_in_or($key = NULL, $values = NULL)
+	function or_where_in($key = NULL, $values = NULL)
 	{	 	
 		return $this->_where_in($key, $values, FALSE, 'or');
 	}
@@ -314,7 +314,7 @@
 
 	 * @return	object
 	 */
-	function where_not_in_or($key = NULL, $values = NULL)
+	function or_where_not_in($key = NULL, $values = NULL)
 	{	 	
 		return $this->_where_in($key, $values, FALSE, 'or');
 	}
@@ -372,7 +372,25 @@
 	{
 		return $this->_like($field, $match, 'AND ', $side);
 	}
-	
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Not Like
+	 *
+	 * Generates a NOT LIKE portion of the query. Separates
+	 * multiple calls with AND
+	 *
+	 * @access	public
+	 * @param	mixed
+	 * @param	mixed
+	 * @return	object
+	 */
+	function not_like($field, $match = '', $side = 'both')
+	{
+		return $this->_like($field, $match, 'AND ', $side, ' NOT');
+	}
+		
 	// --------------------------------------------------------------------
 
 	/**
@@ -394,6 +412,24 @@
 	// --------------------------------------------------------------------
 
 	/**
+	 * OR Not Like
+	 *
+	 * Generates a NOT LIKE portion of the query. Separates
+	 * multiple calls with OR
+	 *
+	 * @access	public
+	 * @param	mixed
+	 * @param	mixed
+	 * @return	object
+	 */
+	function or_not_like($field, $match = '', $side = 'both')
+	{
+		return $this->_like($field, $match, 'OR ', $side, 'NOT ');
+	}
+	
+	// --------------------------------------------------------------------
+
+	/**
 	 * orlike() is an alias of or_like()
 	 * this function is here for backwards compatibility, as
 	 * orlike() has been deprecated
@@ -416,7 +452,7 @@
 	 * @param	string
 	 * @return	object
 	 */
-	function _like($field, $match = '', $type = 'AND ', $side = 'both')
+	function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '')
 	{
 		if ( ! is_array($field))
 		{
@@ -424,22 +460,23 @@
 		}
  	
 		foreach ($field as $k => $v)
-		{
+		{		
+
 			$prefix = (count($this->ar_like) == 0) ? '' : $type;
-			
+
 			$v = $this->escape_str($v);
-			
+
 			if ($side == 'before')
 			{
-				$this->ar_like[] = $prefix." $k LIKE '%{$v}'";
+				$this->ar_like[] = $prefix." $k $not LIKE '%{$v}'";
 			}
 			elseif ($side == 'after')
 			{
-				$this->ar_like[] = $prefix." $k LIKE '{$v}%'";
+				$this->ar_like[] = $prefix." $k $not LIKE '{$v}%'";
 			}
 			else
 			{
-				$this->ar_like[] = $prefix." $k LIKE '%{$v}%'";
+				$this->ar_like[] = $prefix." $k $not LIKE '%{$v}%'";
 			}
 		}
 		return $this;
